Ir para o conteúdo

Pesquisar na Comunidade

A mostrar resultados para '{query}'.


Não encontrou o que estava à procura? Experimente pesquisar por:


Mais opções de pesquisa

  • Pesquisa por Tags

    Introduza as tags separadas por vírgulas.
  • Pesquisar por Autor

Tipo de Conteúdo


Fórum

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categorias

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Procurar resultados em...

Pesquisar conteúdos que contêm...


Data de Publicação

  • Início

    Fim


Última Actualização

  • Início

    Fim


Filtrar por número de...

7228 resultados

  1. Metalhead

    Fetch field name and insert into

    Então é só fazer uma Query no Sistema de Gestão de Base de dados para listar o pretendido
  2. Olá MC, tudo bem? Obrigado por responder. Na verdade, a explicação não está completa e vou postar com mais detalhes. O problema é que tenho uma página com informações de clientes que desejam receber pedidos para envio de orçamentos. A fim de que não eu não receba dezenas de solicitações, eu desejo que o botão "Solicitar Informações" fique desabilitado após 3 solicitações serem pedidas. Esta s solicitações são gravadas em outra tabela (tbl_propostas) e captura o id do cliente para um campo "id_proposta" ou seja, o ID do cliente é gravado no campo "id_proposta". Após 3 gravações no campo "id_proposta", desejo que seja feita uma condição que faça que o botão "Solicite Informações" fique inativo. O script com algus testes que fiz após o primeiro Post segue abaixo: <?php require 'conexao.php'; // Recebe o termo de pesquisa se existir $termo = (isset($_GET['termo'])) ? $_GET['termo'] : ''; // Verifica se o termo de pesquisa está vazio, se estiver executa uma consulta completa if (empty($termo)): $conexao = conexao::getInstance(); $sql = 'SELECT id, nome, cidade, bairro, estado, gasto, email, telefone, celular, status, tipo, foto, botao FROM tab_clientes'; $stm = $conexao->prepare($sql); $stm->execute(); $clientes = $stm->fetchAll(PDO::FETCH_OBJ); /* foreach ($clientes as $count) { // Usei como testes anteriores //$id_proposta = $count->id; //$id = $count->id; } */ endif; #### Faço a contagem de quantas dos valores iguais no campo "id_proposta" #### $conexao = conexao::getInstance(); $sql = 'SELECT id_proposta, COUNT(id_proposta) AS Qtd FROM tab_propostas GROUP BY id_proposta HAVING COUNT(id_proposta) > 1 ORDER BY COUNT(id_proposta) DESC'; $stm = $conexao->prepare($sql); $stm->bindValue(':id_proposta'); $stm->execute(); $rows = $stm->fetchAll(PDO::FETCH_OBJ); //$rows = $stm->fetchAll(); // Usei para testes anteriores foreach ($rows as $listar) { $id_proposta = $listar->id_proposta; $qtd = $listar->Qtd; echo "$qtd"; echo "$id_proposta"; } ?> <!-- Cabeçalho da Listagem --> <legend><h2><center>Orçamentos Solicitados</center></h2></legend> <!-- Formulário de Pesquisa --> <form action="" method="get" id='form-contato' class="form-horizontal col-md-10"> <label class="col-md-2 control-label" for="termo">Pesquisar</label> <div class='col-md-7'> <input type="text" class="form-control" id="termo" name="termo" placeholder="Infome o Primeiro Nome "> </div> <button type="submit" class="btn btn-primary">Pesquisar</button> <a href='clientes.php' class="btn btn-primary">Ver Todos</a> </form> <!-- Link para página de cadastro --> <!-- <a href='cadastro.php' class="btn btn-success pull-right">Cadastrar Cliente</a> --> <div class='clearfix'></div> <?php if(!empty($clientes)):?> <br> <!-- Tabela de Clientes --> <table class="table table-striped"> <tr class='active'> <!-- <th>Foto</th> --> <th>Nome</th> <th>Cidade</th> <th>Bairro</th> <th>Estado</th> <th>Consumo KWh/Mês</th> <th>Código</th> <th>Tipo de Instalação</th> <th>Situação</th> <th>Quero Orçar</th> </tr> <?php foreach($clientes as $cliente):?> <!-- INÍCIO DO FOREACH --> <?php /* ###### Repeti a Query aqui para Testes Atneriores ##### $conexao = conexao::getInstance(); $sql = 'SELECT id_proposta, COUNT(id_proposta) AS Qtd FROM tab_propostas GROUP BY id_proposta HAVING COUNT(id_proposta) > 1 ORDER BY COUNT(id_proposta) DESC'; $stm = $conexao->prepare($sql); $stm->bindValue(':id_proposta'); $stm->execute(); $rows = $stm->fetchAll(PDO::FETCH_OBJ); //$rows = $stm->fetchAll(); //foreach ($rows as $listar) { //$id_proposta = $rows->id_proposta; //$qtd = $listar->Qtd; //echo "$qtd"; //echo "$id_proposta"; //} */ ?> <tr> <td><?=$cliente->nome?></td> <td><?=$cliente->cidade?></td> <td><?=$cliente->bairro?></td> <td><?=$cliente->estado?></td> <td><?=$cliente->gasto?></td> <td><?=$cliente->id?></td> <td><?=$cliente->tipo?></td> <td><?=$cliente->status?></td> <?php $id = $cliente->id; // Capturando o Id da tabela tab_clientes <!-- Do jeito que está a chamada do IF abaixo, apenas o primeiro item da tabela aparece como desabilitado. Outros que tenhas também 3 gravações na tabela tbl_propostas, permanecem ativos. No meu teste, tenho 2 campos da tabela tbl_propostas (ids 12 e com 3 propostas solicitadas. --> ?> <!-- Quando nr de propostas for igual a 3 e id_proposta for igual a ID cliente --> <?php if ($qtd == '3' && $id_proposta == $id) { ?> <td><button type="button" class="btn btn-secondary btn-lg" disabled>CLIENTE INDISPONÍVEL</button> </td> <?php } else { ?> <td> <a href='propostas.php?nome=<?=$cliente->nome?>&cidade=<?=$cliente->cidade?>&bairro=<?=$cliente->bairro?>&estado=<?=$cliente->estado?>&gasto=<?=$cliente->gasto?>&id_proposta=<?=$cliente->id?>&tipo=<?=$tipo->tipo?>&acao=incluir' class="btn btn-success">SOLICITAR INFORMAÇÕES</a></td> <?php } ?> </tr> <?php endforeach;?> <!-- FIM DO FOREACH --> </table> Link com imagem da tela da página acima http://www.adaptour.com.br/tela-clientes.jpg Não sei bem trabalhar com PDO no PHP e estou com dificuldades e se puder me passar uma orientação, ficarei muito grato. Espero que agora com as informações mas detalhadas, você possa entender melhor. Muito obrigado.😊 Carlos Velho
  3. hbsteixeira

    Procedure Validate Select ou Query

    alquem pode-me ajudar precisava de fazer um procedure ou function em sql que me valida-se uma query e caso os campos não exista remova , e me devolva a query correcta pronta a executar . exemplo: Tenho tabela XPTO , com os campo C1,c2,c3,c4,c5 enviava para a procedure ou function ' select A ,c1,b,c3,c,c4 from XPTO' e me retorna-se select c1,c3,c4 from XPTO , removendo os campos que não existem na tabela .
  4. 999ANDRE999

    Query de pesquisa

    Boa tarde a todos, Tenho um projeto em C# com uma ligação uma BD postgres. Nesse projeto tenho um campo de pesquisa para fazer um filtro a uma coluna de uma tabela e apresentar só os resultados pertendidos. Precisava de ajuda para uma query onde pudesse pesquisar através de campos não seguidos. Exemplo: Na tabela tenho "Tubo de cobre diametro 22" Quero na pesquisa escrever "cobre 22" e o resultado retornar a linha "Tubo de cobre diametro 22" e tudo o que tenha as palavras "cobre" e "22"
  5. ribeiro55

    String com apostrofe

    Olá! Para resolveres o teu problema, no imediato, basta que faças um replace do valor que concatenas na query, de forma a que todos os apóstrofes passem a ser dois, por exemplo: "Johnny''s horse" Um simples .Replace("'","''") Terás é outro tipo de problemas mais graves, do que apenas esse, nomeadamente injecção de SQL. Não conheço Postgres, mas terá concerteza suporte para algo semelhante a prepared statements.
  6. gsilva23

    Problema no "ID"

    <?php include 'databaseprodutos.php';?> //faz a ligação à BD <?php $Tipo=$_POST['Tipo']; $Quantidade=$_POST['Quantidade']; $Linha=$_POST['Linha']; //execute the query mysqli_query($conn, "INSERT INTO blank(Tipo,Quantidade,Linha) //Insere na BD VALUES('$Tipo','$Quantidade','$Linha')"); echo 'Dados Inseridos com sucesso' ; ?> PS: eu n digo onde quero inserir ele insere na linha asseguir
  7. Afonso Mira

    Sql server no Visual Studio 2010

    Boas estou com alguns problemas a mexer com sql pois é a primeira vez que mexo. Já tenho o código para inserir os dados na listbox e o código para adicionar novos dados a base de dados. Mas não estou a conseguir fazer um código para eliminar esses dados. O que eu pretendia fazer era criar 2 botões para movimentar de um registo para outro e com o botão eliminar apagar o registo que eu iria selecionar na listbox. Se alguem me conseguir ajudar fico muito agradecido. Aqui fica o meu código atual: (Obs:Se tiver algo mal no código por favor informar obrigado ) Imports System.Data.SqlClient Public Class Form1 Dim conexao As New SqlConnection() Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load conexao.ConnectionString = "Data Source = WKSACR022\ACRPROJETOS; INITIAL CATALOG = ACRBAL; USER ID = sa; PASSWORD = terena00;" End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click carregaListBox(ListBox1, "SELECT produto FROM TbProdutos") End Sub Private Sub carregaListbox(ByVal Lst As ListBox, ByVal query As String) Lst.Items.Clear() conexao.Open() Dim cmd As New SqlCommand(query, conexao) Dim db_reader As SqlDataReader = cmd.ExecuteReader(CommandBehavior.Default) Dim texto As String Dim i As Integer Do While db_reader.Read texto = db_reader.Item(0).ToString For i = 1 To db_reader.FieldCount - 1 texto &= vbTab & db_reader.Item(i).ToString Next i Lst.Items.Add(texto) Loop conexao.Close() End Sub Dim myConnectionString As String = "Data Source = WKSACR022\ACRPROJETOS; INITIAL CATALOG = ACRBAL; USER ID = sa; PASSWORD = terena00;" Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Dim SQL As String = "INSERT INTO TbProdutos([Produto],[Observacao]) VALUES (@produto, @observacoes)" Dim connection As New SqlConnection(myConnectionString) Dim command As New SqlCommand(SQL, connection) command.Parameters.Add("@produto", SqlDbType.NChar).Value = TxtProduto.Text command.Parameters.Add("@observacoes", SqlDbType.NChar).Value = TxtObservacoes.Text connection.Open() Dim x As Integer = command.ExecuteNonQuery() If x < 1 Then MessageBox.Show("A operação efectudada não retomou qualqer resultado.") End If connection.Close() connection = Nothing command = Nothing End Sub End Class
  8. Projecto: https://github.com/marcolopes/dma/tree/master/org.dma.services.vies Classe principal com exemplos: https://github.com/marcolopes/dma/blob/master/org.dma.services.vies/src/org/dma/services/vies/CheckVatHandler.java CheckVatHandler handler=new CheckVatHandler(COUNTRIES.ES); System.out.println(handler.query("A28250777")); System.out.println(handler.query("A39000013")); System.out.println(handler.query("B94123908")); System.out.println(handler.query("J98725286")); handler=new CheckVatHandler(COUNTRIES.DE); System.out.println(handler.query("115055014")); System.out.println(handler.query("129274202")); System.out.println(handler.query("136563568")); System.out.println(handler.query("258071573")); System.out.println(new CheckVatHandler("GR").query("064806395")); System.out.println(COUNTRIES.EL.query("094543092"));
  9. Márcio Lima

    O abc do PHP e AJAX

    Viva! Nos últimos tempos tenho me aventurado em criar algumas análises e formulários a uma base de dados em MS SQL recorrendo a PHP. Salvaguardo que os meus conhecimentos em HTML e/ou PHC são menos que básicos, contudo, recorrendo alguma pesquisa e tentativa erro, tenho conseguido solucionar alguns problemas. No entanto, cheguei a um problema ainda não consegui resolver: Tenho uma página em HTML e PHP que apresenta uma tabela, resultante de um select à minha BD. O meu objectivo agora é, por cada linha da tabela, disponibilizar uma caixa de texto e um botão de forma a actualizar um campo dessa mesma tabela. <!DOCTYPE html> <html lang="pt"> <head> <link rel='icon' href='img/favicon.ico' type='image/x-icon'/ > <title>Listagem</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <?php $sql = "select bistamp, nome, obrano, ref, design, qtt, familia from bi (nolock) where qtt<>0 and bostamp='".$_GET['pkno']."'"; include 'dbcon.php'; //Executa QUERY $stmt = sqlsrv_query( $conn, $sql ); if( $stmt === false) { die( print_r( sqlsrv_errors(), true) ); } if( $head = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) { echo " <div class='container'> <h2>PackingList - ".$head['obrano']."</h2> </div>"; echo " <div class='container'> <p><h5><b>Cliente: </b>".$head['nome']."</h5></p><br> <table class='table table-striped'>"; } echo " <thead> <tr> <th>Ref</th> <th>Design</th> <th>Qtt</th> <th>Qtd Stf</th> </tr> </thead>"; //PRENCHIMENTO DE LINHA while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) { echo " <tbody> <tr> <td>".$row['ref']."</td> <td>".$row['design']."<br><br><b>Familia: </b>".$row['familia']."</td> <td>".$row['qtt']."</td> <td> <form name='updphc' method='post' action=''> <input class='form-control input-md' type='number' id='myqtt2' min='0' max='".$row['qtt']."'><br> <button class='btn btn-primary btn-lg' name='btn-".$row['bistamp']."' type='submit' value='".$row['bistamp']."' >Atualiza</button><br><br> </form> </td> </tr> </tbody> "; } sqlsrv_free_stmt( $stmt); // Close the connection. sqlsrv_close( $conn ); ?> </form> </table> </div> <script> $(document).ready(function() { var delay = 2000; $('.btn-primary').click(function(e){ e.preventDefault(); var myqtt2 = $('#myqtt2').val(); if(myqtt2 == ''){ alert("Quandidade Vazia"); $('#myqtt2').focus(); return false; } $.ajax ({ type: "POST", url: "query.php", data: { myqtt2: myqtt2 }, success: function(data) { setTimeout(function() { $('.message_box').html(data); }, delay); } }); }); }); </script> </body> </html> O problema é que com este código actual apenas me é considerado a caixa de texto da primeira linha. Sinto me perdido neste momento. Alguem me pode ajudar sobre isto? Um abraço, Márcio LIma
  10. beatriz

    Reservas

    <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "inrent"; // Create connection $conn = new mysqli($levantamentos, $devolucao, $levanth, $levantd, $devolvh, $devolvd); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT levantamentos, devolucoa FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "levantamentos: " . $row["levantamentos"]. " devoluçao: " . $row["devolucao"]. "hora do levantamento: " . $row["levanth"]. "dia do levantamento: " . $row["levantd"]. "hora de devoluçao: " . $row["devolvh"]. "dia do levantamento: " . $row["devolvd"]. "<br>"; } } else { echo "0 results"; } $conn->close(); // MOSTRA A MENSAGEM DE SUCESSO // echo "1 record added"; header('Location: reservas.html'); ?> este e o código que eu tenho
  11. Boa noite, Por exemplo tenho a seguinte função: function updateUser(user_id, params) { const query = `UPDATE users SET user_name = $1, user_brithday = $2, user_active = $3 WHERE user_id = $4`; const queryParams = [ params.user_name, params.user_brithday, params.user_ative, user_id ]; return pg.query(query, queryParams); } O que queria fazer era o seguinte, passar o objecto "params", e por exemplo se uma das chaves for undefined, deixar o valor que lá está, se não substituir pelo novo valor. Estive a pesquisar e encontrei as Expressões condicionais, alguém que já trabalhou com isso que me pode ajudar a fazer esta verificação? Obrigado
  12. NPires

    Como comparar value com BD MySQL

    boas obrigado pela resposta mas relativamente ao Query e ao php eu tenho as coisas resolvidas, já com c++ é outra questão, ainda estou a dar babysteps e dai a minha pergunta.
  13. nat

    Problema de query: table alias?

    Boas pessoal, Estou a fazer um exercício utilizando a seguinte base de dados: https://github.com/datacharmer/test_db CREATE TABLE dept_emp ( emp_no INT NOT NULL, dept_no CHAR(4) NOT NULL, from_date DATE NOT NULL, to_date DATE NOT NULL, FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE, FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE, PRIMARY KEY (emp_no,dept_no) ); CREATE TABLE salaries ( emp_no INT NOT NULL, salary INT NOT NULL, from_date DATE NOT NULL, to_date DATE NOT NULL, FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE, PRIMARY KEY (emp_no, from_date) ); O exercício é o seguinte: Cada empregado do departamento de Sales vende 500 produtos por mês. Cada venda conduz a um lucro de 300 euros para empresa. Qual é o lucro/prejuízo da empresa por mês (assumindo que o único lucro é proveniente das vendas e os custos os salários de todos os trabalhadores)? Atualmente a query está assim:8 SELECT MONTH(from_date) AS 'Month', COUNT(emp_no)*500*300 AS 'Sales', SUM(Salary) AS 'Salary per Month', (COUNT(emp_no)*500*300-SUM(Salary)) AS 'Diff' FROM dept_emp JOIN salaries using (from_date,emp_no) GROUP BY MONTH(from_date) ORDER BY Diff DESC; O problema é que atualmente a coluna relativa às vendas ('Sales') não está a ser filtrada para que as vendas sejam apenas feitas pelo departamento das vendas (esse departamento é o dept_no = 'd007'). A query está a considerar que as vendas são feitas por todos os trabalhadores. Já tentei colocar uma WHERE clause entre o FROM e o GROUP BY, mas depois tudo fica filtrado para um só departamento. Como é que faço para que essa situação deixe de ocorrer?
  14. JoseAC

    PHC - Programação em XBASE

    Obrigado pc.cesar, Não tinha reparado que tinhas-me ajudado com esta pergunta, por algum motivo não recebi o email a informar que o tópico tinha sido respondido. já estou a conseguir que apareçam as linhas com a referencia ORCAMENTO e quantidade não me esta associar o orçamento ao numero da PAT Fazendo uma query a tabela BO , ele não me esta a escrever estes campos. replace bo.origem with 'PA' replace bo.orinopat with pa.nopat replace bo.pastamp with lc_PASTAMP replace bo.mastamp with lc_MASTAMP está-me a aparecer o nome do orçamento, nome do cliente , numero ,obs, data isto devia escrever PA e estava a escrever BO replace bo.origem with 'PA' select bo ** estava sem comentario a linha abaixo ** Do Boine2in do BOCLACT SBO.REFRESH() replace bo.nmdos with 'Orçamento Laboratório' replace bo.nome with pa.nome replace bo.no with pa.no replace bo.nopat with pa.nopat replace bo.obs with ' ' replace bo.dataobra with date() replace bo.origem with 'PA' replace bo.orinopat with pa.nopat replace bo.pastamp with lc_PASTAMP replace bo.mastamp with lc_MASTAMP SBO.REFRESH() Obrigado pelo ajuda. José
  15. informaster

    Picker Data - problema

    Boa tarde a todos Tenho um problema : Tenho um picker data daqui https://bootstrap-datepicker.readthedocs.io/en/stable/options.html#quick-reference quando eu clico nele com o filtro de só mostrar os meses ele devolve me o primeiro dia do mes 01-07-2018 mas queria que me devolve-se novamente para a form o nome do mes por extenso... Alguem sabe como fazer isto... Codigo que tenho <div class="col-md-4"> <form class="form-horizontal" method='POST' action=''> <div class="form-group"> <div class="col-sm-16" > </br> <div class="input-group date datepicker-me"> <input type="text" class="form-control" name="filtrodatadia" id="filtrodatadia" value="" placeholder="Filtrar Mês"> <div class="input-group-addon"> <span class="glyphicon glyphicon-th"></span> <button type="submit" id='search' name='search' class="btn btn-success">Ok</button> </div> </div> </div> </div> </form> <script type="text/javascript"> $(document).ready(function(){ $('input[type="date"]').height($('input').height()); $('#filtrodatadia').datepicker({ format: "yyyy-mm-dd", minViewMode: 1, //todayBtn: "linked", //sclearBtn: true, language: "pt-BR", orientation: "auto", changeMonth: true, //calendarWeeks: true, autoclose: true, todayHighlight: true, disableTouchKeyboard: true, toggleActive: true, changeMonth : true, monthNamesShort: [ "J", "F", "M", "Apr", "May", "Jun", "Jul", "A", "S", "O", "N", "D" ] }); }); </script> <?php if(isset($_POST['search'])){ $fromdate = $_POST['filtrodatadia']; $phpdate=$fromdate; function last_day_of_the_month($date = '') { $month = date('m', strtotime($date)); $year = date('Y', strtotime($date)); $result = strtotime("{$year}-{$month}-01"); $result = strtotime('-1 second', strtotime('+1 month', $result)); setlocale(LC_TIME, 'pt_BR UTF-8'); $monthName = date("F", mktime(0, 0, 0, $month, 10)); $filtrodatadia = "#filtrodatadia"; $filtrodatadia = $monthName; return date('YYYY-mm-dd', $result); } $DataInicio = date("Y-m-d", strtotime($phpdate)); $DataFim = last_day_of_the_month($DataInicio); //$DataFim->modify('last day of this month'); // date($DataInicio;, strtotime('last day of this month', time())) ; //date("Y-m-d", strtotime('last day of this month')); //date("Y-m-d",strtotime('last day of this month', time()); //echo $DataFim; //echo $DataInicio; //echo "</br>"; //echo $DataFim; $sqlLojaArtigos2 = "QUERY"; //SERVICOS $sqlLojaServicos2= "QUERY"; //OUTROS $sqlLojaOutros2= "QUERY"; //DEVOLUCOES ARTIGOS $sqlLojaDevolucoesARTIGOS2="QUERY"; //DEVOLUCOES SERVICOS $sqlLojaDevolucoesSERVICOS2="QUERY"; $linhasLojaARTIGOS = $DB2->query($sqlLojaArtigos2); $linhasLojaSERVICOS = $DB2->query($sqlLojaServicos2); $linhasLojaOUTROS = $DB2->query($sqlLojaOutros2); $linhasLojaDEVOLUCOESARTIGOS = $DB2->query($sqlLojaDevolucoesARTIGOS2); $linhasLojaDEVOLUCOESSERVICOS = $DB2->query($sqlLojaDevolucoesSERVICOS2); } ?> </div> </div> </div> Obrigado
  16. Eddy Parera

    Query Select com duas condições where

    Boa tarde, Estou a desenvolver um site onde vou colocar videos externos mas já não programava à dois anos e ainda tenho de reavivar muitos conhecimentos. Deparei-me com um problema que mesmo pesquisando não cheguei a uma solução. No entanto preciso de uma base de dados para que a gestão de videos seja feita através do site. Na tabela "video" tenho uma primary key id(bigint) e uma foreign key (não declarada na base de dados) idCat(int) de uma tabela "categoria" que define a categoria do video e que no site ira separar os videos em categorias por cada página. Deparei-me com um problema, quando a query não retorna nada visto que quando essas duas keys no where nao conferem como é suposto, não consigo dar a indicação num if de que aquele resultado é empty ou null, para que repita o for para o id seguinte. A query é: Select * from video where id='$k' and idCat='$id' O $k é um contador para percorrer a tabela que independentemente do resultado da query irá sempre aumentar 1. Enquanto o id vem de um $_GET do url e que define a categoria escolhida. Aquilo que preciso é de uma solução para que quando a row indique um idCat diferente do pedido no url, passe à row seguinte até encontrar um idCat igual ao do id do url. Se precisarem do código completo e da tabela, posso disponibilizar mais tarde através de printscreen. Obrigado pela atenção.
  17. informaster

    PHP + Bootstrap + MySQL

    Boas Já consegui fazer tudo mas agora falta me uma coisa simples mas preciso de ajuda... Eu estou a usar em php mais bootstrap este DatePicker https://bootstrap-datepicker.readthedocs.io/en/latest/ Tenho o dia seleciono o dia e depois tenho um botao SUBMIT Pagina PHP filtrardatasunico.php <div class="container"> <form class="form-horizontal"> <div class="form-group"> <div class="col-sm-10"> </br> <div class="input-group date datepicker-me"> <input type="text" class="form-control" id="filtrodatadia" value="<?php echo $DataFim; ?>"> <div class="input-group-addon"> <span class="glyphicon glyphicon-th"></span> <button type="submit" class="btn btn-success">Ok</button> </div> </div> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> </div> </div> </form> </div> <script type="text/javascript"> $('#filtrodatadia').datepicker({ format: "yyyy-mm-dd", //startView: 1, //maxViewMode: 2, //todayBtn: "linked", //sclearBtn: true, language: "pt-BR", orientation: "auto", //calendarWeeks: true, autoclose: true, todayHighlight: true, disableTouchKeyboard: true, toggleActive: true }); </script> <?php $DataInicio = '#filtrodatadia'; $DataFim = '#filtrodatadia'; ?> preciso que quando carrego botão submit (Ok) que ele me atribua <?php $DataInicio = '#filtrodatadia'; $DataFim = '#filtrodatadia'; ?> o valor do datepicker que é a data a essas duas variaveis feitas no php.... para que depois o query funcione porque o Query do mysql está a usar $DataInicio e $DataFim. O Codigo da pagina dashboard.php é este: Que é o inicial quando abre. <?php session_start(); include_once ("seguranca2.php"); include_once ("ligacao.php"); include_once ("ligacaoloja.php"); $DataInicio=date("Y-m-d"); $DataFim=date("Y-m-d"); //echo "AREA DASHBOARD CLIENTE"."<br/>"; //echo "Bem Vindo, ".$_SESSION['utilizadorNome']; $sqlLojaArtigos = "SELECT Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Sum(Talao_Lin.Quantidade) AS SomaDeQuantidade, Sum(Talao_Lin.Linha_Valor) AS SomaDeLinha_Valor, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor FROM ((Talao_Lin LEFT JOIN Artigo ON Talao_Lin.Linha_Codigo = Artigo.Artigo_Codigo) LEFT JOIN Talao_Cab ON (Talao_Lin.Talao_Nr = Talao_Cab.Talao_Nr) AND (Talao_Lin.Talao_Data = Talao_Cab.Talao_Data) AND (Talao_Lin.Filial = Talao_Cab.Filial) AND (Talao_Lin.Talao_Tipo = Talao_Cab.Talao_Tipo)) LEFT JOIN Artigos_Grupos ON Artigo.Artigo_Grupo = Artigos_Grupos.Codigo WHERE ((Talao_Lin.Talao_Data)>='$DataInicio' And (Talao_Lin.Talao_Data)<='$DataFim') AND ((Talao_Lin.Linha_Tipo)='A') AND Talao_Anulado=0 GROUP BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor ORDER BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo"; $sqlLojaServicos = "SELECT Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Sum(Talao_Lin.Quantidade) AS SomaDeQuantidade, Sum(Talao_Lin.Linha_Valor) AS SomaDeLinha_Valor, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor FROM ((Talao_Lin LEFT JOIN Artigo ON Talao_Lin.Linha_Codigo = Artigo.Artigo_Codigo) LEFT JOIN Talao_Cab ON (Talao_Lin.Talao_Nr = Talao_Cab.Talao_Nr) AND (Talao_Lin.Talao_Data = Talao_Cab.Talao_Data) AND (Talao_Lin.Filial = Talao_Cab.Filial) AND (Talao_Lin.Talao_Tipo = Talao_Cab.Talao_Tipo)) LEFT JOIN Artigos_Grupos ON Artigo.Artigo_Grupo = Artigos_Grupos.Codigo WHERE ((Talao_Lin.Talao_Data)>='$DataInicio' And (Talao_Lin.Talao_Data)<='$DataFim') AND ((Talao_Lin.Linha_Tipo)='S') AND Talao_Anulado=0 GROUP BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor ORDER BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo"; $sqlLojaOutros = "SELECT Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Sum(Talao_Lin.Quantidade) AS SomaDeQuantidade, Sum(Talao_Lin.Linha_Valor) AS SomaDeLinha_Valor, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor FROM ((Talao_Lin LEFT JOIN Artigo ON Talao_Lin.Linha_Codigo = Artigo.Artigo_Codigo) LEFT JOIN Talao_Cab ON (Talao_Lin.Talao_Nr = Talao_Cab.Talao_Nr) AND (Talao_Lin.Talao_Data = Talao_Cab.Talao_Data) AND (Talao_Lin.Filial = Talao_Cab.Filial) AND (Talao_Lin.Talao_Tipo = Talao_Cab.Talao_Tipo)) LEFT JOIN Artigos_Grupos ON Artigo.Artigo_Grupo = Artigos_Grupos.Codigo WHERE ((Talao_Lin.Talao_Data)>='$DataInicio' And (Talao_Lin.Talao_Data)<='$DataFim') AND ((Talao_Lin.Linha_Tipo)<> 'S') AND ((Talao_Lin.Linha_Tipo)<> 'A') AND Talao_Anulado=0 GROUP BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor ORDER BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo"; $sqlLojaDevolucoesARTIGOS= "SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='$DataInicio' and Devolucoes.Data<='$DataFim' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo>10000"; $sqlLojaDevolucoesSERVICOS="SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='$DataInicio' and Devolucoes.Data<='$DataFim' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo<10000"; //SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='2018-01-01' and Devolucoes.Data<='2019-01-01' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo<10000 SERVICOS //SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='2018-01-01' and Devolucoes.Data<='2019-01-01' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo>10000 ARTIGOS $sqlLojaFiltro = ""; $linhasLojaARTIGOS = $DB2->query($sqlLojaArtigos); $linhasLojaSERVICOS = $DB2->query($sqlLojaServicos); $linhasLojaOUTROS = $DB2->query($sqlLojaOutros); $linhasLojaDEVOLUCOESARTIGOS = $DB2->query($sqlLojaDevolucoesARTIGOS); $linhasLojaDEVOLUCOESSERVICOS = $DB2->query($sqlLojaDevolucoesSERVICOS); //https://bootstrap-datepicker.readthedocs.io/en/stable/options.html#quick-reference ?> <!DOCTYPE html> <!-- INICIO HTML --> <html lang="pt-PT"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Página de Administração"> <meta name="author" content="Stylus @ Nuno Revez"> <?php include("includes/header.php");?> </head> <!-- INICIO BODY --> <body class="fix-header fix-sidebar"> <!-- Preloader - style you can find in spinners.css --> <div class="preloader"> <svg class="circular" viewBox="25 25 50 50"> <circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10" /> </svg> </div> <?php //include_once ("menu_client.php"); $sql= "SELECT * FROM login ORDER BY 'id';"; $linhas = $DB2->query($sql); ?> <!-- INICIO Main wrapper --> <div id="main-wrapper"> <!-- INICIO header header --> <div class="header"> <nav class="navbar top-navbar navbar-expand-md navbar-light"> <!-- Logo --> <div class="navbar-header"> <a class="navbar-brand" href="dashboard.php"> <!-- Logo icon --> <b><img src="imagens/stylus2.jpg" alt="homepage" class="dark-logo" /></b> <!--End Logo icon --> <!-- Logo text --> </a> </div> <!-- End Logo --> <div class="navbar-collapse"> <!-- toggle and nav items --> <ul class="navbar-nav mr-auto mt-md-0"> <!-- This is --> <li class="nav-item"> <a class="nav-link nav-toggler hidden-md-up text-muted " href="javascript:void(0)"><i class="mdi mdi-menu"></i></a> </li> <li class="nav-item m-l-10"> <a class="nav-link sidebartoggler hidden-sm-down text-muted " href="javascript:void(0)"><i class="ti-menu"></i></a> </li> <!-- Messages --> <!-- End Messages --> </ul> <!-- User profile and search --> <ul class="navbar-nav my-lg-0"> <!-- End Messages --> <!-- MAPAS --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle text-muted " href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="imagens/reports.png" alt="user" class="profile-pic" /></a> <div class="dropdown-menu dropdown-menu-right animated zoomIn"> <ul class="dropdown-user"> <li><a href="dashboardtotais.php"><i class="fa "></i> TOTAIS</a></li> <li><a href="dashboardestatistico.php"><i class="fa "></i> ESTATISTICO</a></li> <li><a href="dashboardtop.php"><i class="fa "></i> TOP<a></li> </ul> </div> </li> <!-- LOJAS --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle text-muted " href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="imagens/store.png" alt="user" class="profile-pic" /></a> <div class="dropdown-menu dropdown-menu-right animated zoomIn"> <ul class="dropdown-user"> <li><a href="dashboardlojas.php"><i class="fa "></i> ESCOLHER LOJAS</a></li> </ul> </div> </li> <!-- PERIODO --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle text-muted " href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="imagens/calendar.png" alt="user" class="profile-pic" /></a> <div class="dropdown-menu dropdown-menu-right animated zoomIn"> <ul class="dropdown-user"> <li><a href="dashboard.php"><i class="fa "></i> DIARIO</a></li> <li><a href="dashboard.php"><i class="fa "></i> MENSAL</a></li> <li><a href="dashboard.php"><i class="fa "></i> ANUAL</a></li> <li><a href="dashboard.php"><i class="fa "></i> ENTRE DATAS</a></li> </ul> </div> </li> <!-- PROFILE --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle text-muted " href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="imagens/avatar_homem.jpg" alt="user" class="profile-pic" /></a> <div class="dropdown-menu dropdown-menu-right animated zoomIn"> <ul class="dropdown-user"> <li><?php echo "Bem Vindo/a {$_SESSION['utilizadorNome']}";?></li> <li><?php echo "O seu id: {$_SESSION['utilizadorId']}";?></li> <li><a href="sair.php"><i class="fa fa-power-off"></i> Sair</a></li> </ul> </div> </li> </ul> </div> </nav> </div> <!-- FIM header header --> <!-- INICIO BARRA ESQUERDA --> <div class="left-sidebar"> <!-- Sidebar scroll--> <div class="scroll-sidebar"> <!-- Sidebar navigation--> <nav class="sidebar-nav"> <ul id="sidebarnav"> <li class="nav-devider"></li> <li class="nav-label">Inicio</li> <li> <a class="has-arrow " href="#" aria-expanded="false"><i class="fa fa-tachometer"></i><span class="hide-menu">Dashboard <span class="label label-rouded label-primary pull-right">2</span></span></a> <ul aria-expanded="false" class="collapse"> <li><a href="dashboard.php">Principal</a></li> <li><a href="dashboard.php">Relatórios</a></li> </ul> </li> </ul> </nav> <!-- End Sidebar navigation --> </div> <!-- End Sidebar scroll--> </div> <!-- FIM BARRA ESQUERDA --> <!-- Page wrapper --> <div class="page-wrapper"> <!-- Container fluid --> <div class="container-fluid bg-light"> <!-- Start Page Content --> <div class="row"> <div class="col-md-12"> <?php include("includes/filtrardatasunico.php");?> <?php //TOTAL GERAL //echo "Dia Inicial: ".$DataInicio." <br> Dia Final: ".$DataFim; $DEVOLUCOESARTIGOS=0; $DEVOLUCOESSERVICOS=0; $OUTROS=0; $SERVICOS=0; $ARTIGOS=0; $TOTAL=0; while($rowLojaARTIGOS = $linhasLojaARTIGOS->fetch_assoc()) { $ARTIGOS += $rowLojaARTIGOS["SomaDeLinha_Valor"]; } while($rowLojaSERVICOS = $linhasLojaSERVICOS->fetch_assoc()) { $SERVICOS += $rowLojaSERVICOS["SomaDeLinha_Valor"]; } while($rowLojaOUTROS = $linhasLojaOUTROS->fetch_assoc()) { $OUTROS += $rowLojaOUTROS["SomaDeLinha_Valor"]; } while($rowLojaDEVOLUCOESARTIGOS = $linhasLojaDEVOLUCOESARTIGOS->fetch_assoc()) { if($rowLojaDEVOLUCOESARTIGOS!=0) { $DEVOLUCOESARTIGOS += $rowLojaDEVOLUCOESARTIGOS["SomaDevolucao"]; } } while($rowLojaDEVOLUCOESSERVICOS = $linhasLojaDEVOLUCOESSERVICOS->fetch_assoc()) { if($rowLojaDEVOLUCOESSERVICOS!=0) { $DEVOLUCOESSERVICOS += $rowLojaDEVOLUCOESSERVICOS["SomaDevolucao"]; } } $TOTAL = $ARTIGOS+$SERVICOS+$OUTROS-$DEVOLUCOESSERVICOS-$DEVOLUCOESARTIGOS; echo "<div id='TotalVendas' class='gauge' data-value='".$TOTAL."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotalvendas;"; echo "var valortotalvendas = new JustGage({"; echo "id: 'TotalVendas',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Vendas Globais',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#e6b800'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> <div class="col-md-4"> <?php //TOTALSERVICOS $page = $_SERVER['PHP_SELF']; $sec = "20"; header("Refresh: $sec; url=$page"); if($DEVOLUCOESSERVICOS!=0){$SERVICOS = $SERVICOS-$DEVOLUCOESSERVICOS;} echo "<div id='TotalServicos' class='gauge' data-value='".$SERVICOS."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotalservicos;"; echo "var valortotalservicos = new JustGage({"; echo "id: 'TotalServicos',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Serviços',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#226600'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> <div class="col-md-4"> <?php //TOTALARTIGOS $page = $_SERVER['PHP_SELF']; $sec = "20"; header("Refresh: $sec; url=$page"); if($DEVOLUCOESARTIGOS!=0){$ARTIGOS = $ARTIGOS-$DEVOLUCOESARTIGOS;} echo "<div id='TotalArtigos' class='gauge' data-value='".$ARTIGOS."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotalartigos;"; echo "var valortotalartigos = new JustGage({"; echo "id: 'TotalArtigos',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Artigos',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#226600'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> <div class="col-md-4"> <?php //TOTALOUTROS $page = $_SERVER['PHP_SELF']; $sec = "20"; header("Refresh: $sec; url=$page"); echo "<div id='TotalOutros' class='gauge' data-value='".$OUTROS."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotaloutros;"; echo "var valortotaloutros = new JustGage({"; echo "id: 'TotalOutros',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Outros',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#226600'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> </div> </div> <!-- End PAge Content --> </div> <!-- End Container fluid --> <?php include("includes/scripts.php");?> <?php include("includes/footer.php");?> A ideia é tocar no datepicker e selecionar data que isso já está agora falta me o resto que é quando carrego OK ele tem que passar o valor do DatePicker para as variaveis $DataInicio e $DataFim para ele poder executar novamente a query e ver aquele dia e nao o inicial que estava. O inicial é sempre a data de hoje que é como esta no inicio $DataInicio=date("Y-m-d"); $DataFim=date("Y-m-d"); Sou ainda muito principiante em php e preciso que alguem me ajude se possivel Obrigado
  18. jmta_92

    Converter resultado em coluna de tabela

    Boa tarde pessoal, Antes de mais obrigado pelo tempo disponibilizado. Estou a realizar um projeto e preciso de uma ajuda em mysql. Devido a complexidade da query vou fornecer um exemplo mais facil do que necessito de fazer. Imaginemos que temos uma query, que na verdade será uma subquery. Select name from table1 limit 1; o resultado poderia ser por exemplo: 'ABCD' Agora o que preciso é de pesquisar noutra tabela por aquele campo, por exemplo: select ABCD from table2; O resultado da primeira query é o nome da coluna na table2, ou seja 'ABCD'. Precisava de saber como posso utilizar o resultado da primeira query para indicar o nome na segunda. Já tentei : select table2.a.name from table2 inner join (Select name from table1 limit 1) as a .... Mas como já esperava não funciona, deve faltar um caracter que desconheço. Alguém já como posso resolver o problema?
  19. Cerzedelo

    Consulta dupla SQL na mesma tabela

    Em primeiro lugar, o concelho que dou, é em vez de criar uma query tao complexa, ir fazendo por partes. Em segundo, não percebi, o porque de um inner join, quando só está a fazer select a campos de uma tabela. Em terceiro, o Access tinha uma ferramenta gráfica para fazer as querys, e depois apresentava os comandos em sql. O que provavelmente precisará e de fazer uma subquery, i. e., um select dentro de outro select.. Ver http://www.criarweb.com/artigos/subconsultas-em-sql.html
  20. Márcio Lima

    O abc do PHP e AJAX

    Viva Obrigado pela ajuda. Parece-me lógico. O problema aqui é precisar de resolver esta situação da actualização e não ter as noções básicas de como isto funciona. Relativamente à identificação do actualizar, a minha ideia seria introduzir a primarykey da linha no id do botão e/ou caixa actualizar e utilizar esse código para a query. Contudo a dificuldades também passa de: como passar uma variavel do PHP para o script ajax naquele preciso momento. Obrigado pela ajuda.
  21. carcleo

    Gerar Javascript com JSON

    undefined Alterado para: <?php require_once "../_controlls/_conexao/Conexao.php"; require_once "../_controlls/_models/Produtos.php"; require_once "../_controlls/_daos/ProdutosDao.php"; $conection = new Conexao(); $conexao = $conection->abreConexao(); $produtosDao = new ProdutosDao($conexao); $todos = $produtosDao->pesquisaProdutos(); $produtos = array(); foreach ($todos as $cada): $produtos[] = (array) $cada; endforeach; print "<pre>"; print_r($produtos); print "</pre>"; ?> <script> var res = Array(); res = <?php echo json_encode($produtos); ?>; document.write(res[0].ProdutosidProduto) </script> Estou fazendo o seguinte: Estou tendo um retorno de uma Query SQL. Com essa Query, monto um Array de objetos (sim, todos do mesmo tipo). pós isso, estou gerando em um foreach $produtosDao = new ProdutosDao($conexao); $todos = $produtosDao->pesquisaProdutos(); $produtos = array(); foreach ($todos as $cada): $produtos[] = (array) $cada; endforeach; um novo array com cada objeto convertido em Array (array) $cada. Esse ´é o array que está na pergunta. Agora preciso transformá-lo em um JSon
  22. D3POD

    Query MySQL

    Boas, estou a criar uma aplicação que iniciei com a ideia de uma coisa simples e escolhi a base de dados Access. Devido à necessidade de colocar mais funcionalidades, passei para MySQL e com estas alterações tenho um erro na seguinte query: cmd = new MySqlCommand("SELECT (Sales.Doc) as 'Documento', (Sales.DocNo) as 'Nº Documento', (CustomerName) as 'Nome', (Sales.TotalIC) as 'Total IC', (TotalDesc) as 'Total Desconto', SubTotal as 'Sub Total', (GrandTotal) as 'Total', (InvoiceDate) as 'Data' from Sales,Customer where Sales.CustomerID=Customer.CustomerID and InvoiceDate between #'" + dtpInvoiceDateFrom.Text + "'# And #'" + dtpInvoiceDateTo.Text + "'# order by InvoiceDate desc", con); Isto estava a funcionar em Access, obviamente fiz as alterações da query para corresponder ao formato do MySQL, mas está a escapar alguma coisa. Alguém consegue dar uma ajuda? Cumprimentos, D3POD
  23. informaster

    PHP + Bootstrap + MySQL

    Boas O meu problema agora está aqui: <?php session_start(); include_once ("seguranca2.php"); include_once ("ligacao.php"); include_once ("ligacaoloja.php"); $DataInicio=date("Y-m-d"); $DataFim=date("Y-m-d"); //echo "AREA DASHBOARD CLIENTE"."<br/>"; //echo "Bem Vindo, ".$_SESSION['utilizadorNome']; $sqlLojaArtigos = "SELECT Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Sum(Talao_Lin.Quantidade) AS SomaDeQuantidade, Sum(Talao_Lin.Linha_Valor) AS SomaDeLinha_Valor, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor FROM ((Talao_Lin LEFT JOIN Artigo ON Talao_Lin.Linha_Codigo = Artigo.Artigo_Codigo) LEFT JOIN Talao_Cab ON (Talao_Lin.Talao_Nr = Talao_Cab.Talao_Nr) AND (Talao_Lin.Talao_Data = Talao_Cab.Talao_Data) AND (Talao_Lin.Filial = Talao_Cab.Filial) AND (Talao_Lin.Talao_Tipo = Talao_Cab.Talao_Tipo)) LEFT JOIN Artigos_Grupos ON Artigo.Artigo_Grupo = Artigos_Grupos.Codigo WHERE ((Talao_Lin.Talao_Data)>='$DataInicio' And (Talao_Lin.Talao_Data)<='$DataFim') AND ((Talao_Lin.Linha_Tipo)='A') AND Talao_Anulado=0 GROUP BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor ORDER BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo"; $sqlLojaServicos = "SELECT Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Sum(Talao_Lin.Quantidade) AS SomaDeQuantidade, Sum(Talao_Lin.Linha_Valor) AS SomaDeLinha_Valor, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor FROM ((Talao_Lin LEFT JOIN Artigo ON Talao_Lin.Linha_Codigo = Artigo.Artigo_Codigo) LEFT JOIN Talao_Cab ON (Talao_Lin.Talao_Nr = Talao_Cab.Talao_Nr) AND (Talao_Lin.Talao_Data = Talao_Cab.Talao_Data) AND (Talao_Lin.Filial = Talao_Cab.Filial) AND (Talao_Lin.Talao_Tipo = Talao_Cab.Talao_Tipo)) LEFT JOIN Artigos_Grupos ON Artigo.Artigo_Grupo = Artigos_Grupos.Codigo WHERE ((Talao_Lin.Talao_Data)>='$DataInicio' And (Talao_Lin.Talao_Data)<='$DataFim') AND ((Talao_Lin.Linha_Tipo)='S') AND Talao_Anulado=0 GROUP BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor ORDER BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo"; $sqlLojaOutros = "SELECT Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Sum(Talao_Lin.Quantidade) AS SomaDeQuantidade, Sum(Talao_Lin.Linha_Valor) AS SomaDeLinha_Valor, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor FROM ((Talao_Lin LEFT JOIN Artigo ON Talao_Lin.Linha_Codigo = Artigo.Artigo_Codigo) LEFT JOIN Talao_Cab ON (Talao_Lin.Talao_Nr = Talao_Cab.Talao_Nr) AND (Talao_Lin.Talao_Data = Talao_Cab.Talao_Data) AND (Talao_Lin.Filial = Talao_Cab.Filial) AND (Talao_Lin.Talao_Tipo = Talao_Cab.Talao_Tipo)) LEFT JOIN Artigos_Grupos ON Artigo.Artigo_Grupo = Artigos_Grupos.Codigo WHERE ((Talao_Lin.Talao_Data)>='$DataInicio' And (Talao_Lin.Talao_Data)<='$DataFim') AND ((Talao_Lin.Linha_Tipo)<> 'S') AND ((Talao_Lin.Linha_Tipo)<> 'A') AND Talao_Anulado=0 GROUP BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo, Artigo.INACTIVO, Artigo.Artigo_Descricao, Artigo.Artigo_Grupo, Artigo.TipoArtigo_Codigo, Artigo.Cod_Fornecedor ORDER BY Artigos_Grupos.Descricao, Talao_Lin.Linha_Codigo"; $sqlLojaDevolucoesARTIGOS= "SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='$DataInicio' and Devolucoes.Data<='$DataFim' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo>10000"; $sqlLojaDevolucoesSERVICOS="SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='$DataInicio' and Devolucoes.Data<='$DataFim' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo<10000"; //SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='2018-01-01' and Devolucoes.Data<='2019-01-01' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo<10000 SERVICOS //SELECT SUM(Devolucoes.ValorLinha) AS SomaDevolucao FROM Devolucoes WHERE Devolucoes.Data>='2018-01-01' and Devolucoes.Data<='2019-01-01' and Devolucoes.Dev_Anulado<>1 and Devolucoes.Filial IN ('1E') and Devolucoes.Artigo>10000 ARTIGOS $linhasLojaARTIGOS = $DB2->query($sqlLojaArtigos); $linhasLojaSERVICOS = $DB2->query($sqlLojaServicos); $linhasLojaOUTROS = $DB2->query($sqlLojaOutros); $linhasLojaDEVOLUCOESARTIGOS = $DB2->query($sqlLojaDevolucoesARTIGOS); $linhasLojaDEVOLUCOESSERVICOS = $DB2->query($sqlLojaDevolucoesSERVICOS); ?> Coloco $DataInicio e $ DataFim aqui: <!-- Page wrapper --> <div class="page-wrapper"> <!-- Container fluid --> <div class="container-fluid bg-light"> <!-- Start Page Content --> <div class="row"> <div class="col-md-12"> <?php //TOTAL GERAL echo "Dia Inicial: ".$DataInicio." >> Dia Final: ".$DataFim; $DEVOLUCOESARTIGOS=0; $DEVOLUCOESSERVICOS=0; $OUTROS=0; $SERVICOS=0; $ARTIGOS=0; $TOTAL=0; while($rowLojaARTIGOS = $linhasLojaARTIGOS->fetch_assoc()) { $ARTIGOS += $rowLojaARTIGOS["SomaDeLinha_Valor"]; while($rowLojaSERVICOS = $linhasLojaSERVICOS->fetch_assoc()) { $SERVICOS += $rowLojaSERVICOS["SomaDeLinha_Valor"]; while($rowLojaOUTROS = $linhasLojaOUTROS->fetch_assoc()) { $OUTROS += $rowLojaOUTROS["SomaDeLinha_Valor"]; while($rowLojaDEVOLUCOESARTIGOS = $linhasLojaDEVOLUCOESARTIGOS->fetch_assoc()) { if($rowLojaDEVOLUCOESARTIGOS!=0) { $DEVOLUCOESARTIGOS += $rowLojaDEVOLUCOESARTIGOS["SomaDevolucao"]; } while($rowLojaDEVOLUCOESSERVICOS = $linhasLojaDEVOLUCOESSERVICOS->fetch_assoc()) { if($rowLojaDEVOLUCOESSERVICOS!=0) { $DEVOLUCOESSERVICOS += $rowLojaDEVOLUCOESSERVICOS["SomaDevolucao"]; } } } } } $TOTAL = $ARTIGOS+$SERVICOS+$OUTROS-$DEVOLUCOESSERVICOS-$DEVOLUCOESARTIGOS; } echo "<div id='TotalVendas' class='gauge' data-value='".$TOTAL."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotalvendas;"; echo "var valortotalvendas = new JustGage({"; echo "id: 'TotalVendas',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Vendas Globais',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#e6b800'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> <div class="col-md-4"> <?php //TOTALSERVICOS $page = $_SERVER['PHP_SELF']; $sec = "20"; header("Refresh: $sec; url=$page"); if($DEVOLUCOESSERVICOS!=0){$SERVICOS = $SERVICOS-$DEVOLUCOESSERVICOS;} echo "<div id='TotalServicos' class='gauge' data-value='".$SERVICOS."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotalservicos;"; echo "var valortotalservicos = new JustGage({"; echo "id: 'TotalServicos',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Serviços',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#226600'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> <div class="col-md-4"> <?php //TOTALARTIGOS $page = $_SERVER['PHP_SELF']; $sec = "20"; header("Refresh: $sec; url=$page"); if($DEVOLUCOESARTIGOS!=0){$ARTIGOS = $ARTIGOS-$DEVOLUCOESARTIGOS;} echo "<div id='TotalArtigos' class='gauge' data-value='".$ARTIGOS."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotalartigos;"; echo "var valortotalartigos = new JustGage({"; echo "id: 'TotalArtigos',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Artigos',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#226600'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> <div class="col-md-4"> <?php //TOTALOUTROS $page = $_SERVER['PHP_SELF']; $sec = "20"; header("Refresh: $sec; url=$page"); echo "<div id='TotalOutros' class='gauge' data-value='".$OUTROS."'>"; echo "<script>"; echo "document.addEventListener('DOMContentLoaded', function(event) {"; echo "var valortotaloutros;"; echo "var valortotaloutros = new JustGage({"; echo "id: 'TotalOutros',"; echo "value: getRandomInt(0, 100),"; echo "min: 0,"; echo "max: 10000,"; echo "title: '€ Outros',"; echo "label: '',"; echo "levelColors: ["; echo "'#ff1a1a',"; echo "'#99ff66',"; echo "'#226600'"; echo "]"; echo "});"; echo "});"; echo "</script>"; echo "</div>"; ?> </div> </div> </div> <!-- End PAge Content --> </div> <!-- End Container fluid --> E não me retorna dados para os graficos.... Se pegar no query de saida meto no mysql e da me o resultado. Estou mesmo já muito atrofiado com isto....
  24. washalbano

    Função para obter e guardar nomes num array

    Olá! O que é PAP? Conecte-se assim: <?php // variáveis para conexão em localhost $host = 'localhost'; // define o host do banco de dados $user = 'root'; // user do banco de dados $password = ''; // senha do banco de dados $database = 'scriptbrasil'; // nome do banco de dados // estabelecer conexão com o mysql $sqli = new mysqli($host, $user, $password); // verificar se houve erro na conexão if ($sqli->connect_error) { // se houve erro, mostra erro na tela echo "<p>Erro ao Conectar: $sqli->connect_error</p>"; } // alterar o tipo de codificação da conexão com o banco de dados, para utf8 if (!$sqli->set_charset('utf8')) { echo "<p class='error'>O charset não é utf8: $sqli->error</p>"; } // selecionar/abrir o banco de dados para trabalhar if (!$sqli->select_db($database)) { // se o banco de dados não for encontrado echo "<p class='error'>Banco de dados não encontrado, chefe!</p>"; } Proceda com a busca assim: <?php // monte sua query de busca, selecionando apenas as informações necessárias: $query = "SELECT id_type, type_name FROM hardware_types"; // execute a query $result = $sqli->query($query); // verifique se houve algum erro na execução da query if ($sqli->error) { // se houve, mostre o erro na tela echo '<p class="error">Falha ao executar query, chefe!</p>' . $sqli->error; // se não houve erro algum e algum resultado foi encontrado } elseif ($result->num_rows) { // busca os dados em formato de array associativo $dados = $result->fetch_all(MYSQLI_ASSOC); } else { // se nenhum resultado foi encontrado echo '<p class="warning">Nenhum tipo de hardware cadastrado, chefe!</p>'; } Debugar a variável $dados: echo '<pre>'; var_dump($dados); echo '<pre>';
  25. Boas pessoal, Felizmente conseguir resolver o problema Fugi da base de dados em SQL e recorri ao código Para os interessados deixo o código usado: DatabaseBindingSource.Filter = String.Format("[Column1] like'{0}' or [Column2] like'{0}' or [Column3]like'{0}'", "%" & TextBox1.Text & "%") deixei a query apenas da base de dados usada retirando a que acima mencionei Melhores cumprimentos pessoal! Boas festas!
×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.